package com.dymall.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.io.Resource;

import java.time.Duration;

/**
 * 提供一个配置类，读取 JWT 相关参数，便于后续初始化密钥和生成 token。
 * 关联的时yaml文件中的jwt配置信息
 * hm: #用户登录jwt相关配置
 *   jwt:
 *     location: classpath:hmall.jks
 *     alias: hmall
 *     password: hmall123
 *     tokenTTL: 30m
 */

@Data
@ConfigurationProperties(prefix = "hm.jwt")//绑定
public class JwtProperties {
    private Resource location;
    private String password;
    private String alias;
    /**
     * 用来指定 JWT的有效期。这意味着一旦生成了 JWT，它将在 10 分钟后过期。这有助于提高系统的安全性，限制每个 token 的生命周期，减少因 token 被窃取而造成的风险。
     */
    private Duration tokenTTL = Duration.ofMinutes(10);
}
